package com.silence.gmall.base;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.commons.collections4.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author silence
 * @Email 792245022@qq.com
 * @Date 2025-06-11 14:50
 * @Description 文件上传结果
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class UploadResult<T> {

    /**
     * 状态
     */
    private boolean hasErrors;

    /**
     * 错误信息
     */
    private List<BaseExcelErrorMessage> errorMessages;

    /**
     * 全部数据
     */
    private List<T> data = new ArrayList<>();

    /**
     * 正确数据
     */
    private List<T> successDate = new ArrayList<>();

    /**
     * 是否空数据
     *
     * @return true：空数据；false：非空数据
     */
    public boolean isEmptyData() {
        return !hasErrors && CollectionUtils.isEmpty(data);
    }
}
